package com.tedu.API.threadAPI;

/**
 * setDaemon(boolean b) 设置线程为守护线程,true为守护线程
 *
 * 前台线程/用户线程：创建一个线程
 * 后台线程/守护线程：创建一个线程，并且指定
 *
 * 案例：创建两个线程：t1  大淼  后台线程
 *                  t2  小涛  前台线程
 *     结论：前台线程挂掉，后台线程也挂
 *
 * 软件【工厂】---进程【车间】---线程【工人】
 * 所有线程挂了，进程挂了
 * 守护线程多执行一次：特性：守护线程执行按照JVM虚拟机和操作系统进行调度策
 *                      略管理的，前台死亡，守护线程短暂调取一次
 *  所有前台线程死亡【守护线程死亡】---进程关闭--软件关闭
 */
public class Thread_Daemon {
    public static void main(String[] args) {
        Thread t1=new Thread(()->{
            for (int i=5;i>=1;i--){
                System.out.println("前台线程：大淼·刘"+i);
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            System.out.println("大淼噶了！！！！！！");
        });//前台线程
        Thread t2=new Thread(()->{
            while(true){
                System.out.println("守护线程");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });//小涛     //守护线程+1
        t2.setDaemon(true);
        t1.start();
        t2.start();
    }
}
